import traceback
import time

# if True:
#     1/0
# else:
#     print("aaaa")
#
# print("代码运行完成")

# 输入成绩获取学生成绩等级
def func(value):
    if value > 100:
        raise Exception("输入成绩不合法")  # 主动抛出异常
    elif value >=90:
        print("学生成绩优秀")
    elif value >=80:
        print("学生成绩良好")
    elif value >=70:
        print("学生成绩中等")
    elif value >= 60:
        print("学生成绩及格")
    else:
        value("学生成绩不及格")

# func(101)
# print("asjbdbha")

while True:
    value = input("学生成绩为：")
    try:
        print("当前学生成绩为：{}".format(value))  # 报错之前的代码是正常运行了的
        value = int(value)
        func(value)
    # except Exception as e:
    #     print(e)
    #     print("---------------------------------")
    except:
        print(traceback.print_exc())
        print("输入类型错误无法计算")
    else:
        print("学生成绩等级获取成功")
    finally:
        print("有没有异常都会执行")
        time.sleep(1)

# def fun():
#     try:
#         print("执行try代码块")
#         return 1
#     except:
#         print("执行except代码块")
#     else:
#         print("执行else代码块")
#     finally:   # 在函数中，return之后的代码都不会执行，但是finally会执行
#         print("执行finally代码块")
#
# fun()